/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bean;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author André
 */
@Entity
@Table(name = "tcondicao_compra", schema = "compras")
public class CondicaoCompra implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "tcodigo_pk")
    private Integer tcodigo_pk;
    @Column(name = "tdata_cadastro", nullable = false)
    @Temporal(TemporalType.DATE)
    private Date tdata_cadastro;
    @Column(name = "tdescricao", nullable = false, length = 30)
    private String tdescricao;
    @Column(name = "tforma_parcelamento_chk", nullable = false, length = 1)
    private String tforma_parcelamento_chk;
    @Column(name = "tquantidade_parcelas", nullable = false)
    private Integer tquantidade_parcelas;
    @Column(name = "tpossui_entrada_chk", nullable = false, length = 1)
    private String tpossui_entrada_chk;
    @Column(name = "tgrupo_comissao_fk", nullable = false)
    private Integer tgrupo_comissao_fk;
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "condicaoCompra")
    private List<CondicaoCompraParcela> condicaoCompraParcelaList;
    
    public CondicaoCompra() {
        //Por não conseguir tratar NULL no BPEL, todos os campos que puderem ser NULL devem ser preenchidos com -1 se forem Númericos e com "" se forem Strings
        this.tcodigo_pk = -1;
        this.tdata_cadastro = new Date();
        this.tdescricao = "";
        this.tforma_parcelamento_chk = "";
        this.tquantidade_parcelas = -1;
        this.tpossui_entrada_chk = "";
        this.tgrupo_comissao_fk = -1;
    }

    public List<CondicaoCompraParcela> getCondicaoCompraParcelaList() {
        return condicaoCompraParcelaList;
    }

    public void setCondicaoCompraParcelaList(List<CondicaoCompraParcela> condicaoCompraParcelaList) {
        this.condicaoCompraParcelaList = condicaoCompraParcelaList;
    }

    public Integer getTcodigo_pk() {
        return tcodigo_pk;
    }

    public void setTcodigo_pk(Integer tcodigo_pk) {
        this.tcodigo_pk = tcodigo_pk;
    }

    public Date getTdata_cadastro() {
        return tdata_cadastro;
    }

    public void setTdata_cadastro(Date tdata_cadastro) {
        this.tdata_cadastro = tdata_cadastro;
    }

    public String getTdescricao() {
        return tdescricao;
    }

    public void setTdescricao(String tdescricao) {
        this.tdescricao = tdescricao;
    }

    public String getTforma_parcelamento_chk() {
        return tforma_parcelamento_chk;
    }

    public void setTforma_parcelamento_chk(String tforma_parcelamento_chk) {
        this.tforma_parcelamento_chk = tforma_parcelamento_chk;
    }

    public Integer getTgrupo_comissao_fk() {
        return tgrupo_comissao_fk;
    }

    public void setTgrupo_comissao_fk(Integer tgrupo_comissao_fk) {
        this.tgrupo_comissao_fk = tgrupo_comissao_fk;
    }

    public String getTpossui_entrada_chk() {
        return tpossui_entrada_chk;
    }

    public void setTpossui_entrada_chk(String tpossui_entrada_chk) {
        this.tpossui_entrada_chk = tpossui_entrada_chk;
    }

    public Integer getTquantidade_parcelas() {
        return tquantidade_parcelas;
    }

    public void setTquantidade_parcelas(Integer tquantidade_parcelas) {
        this.tquantidade_parcelas = tquantidade_parcelas;
    }

    @Override
    public String toString() {
        return "bean.TcondicaoCompra[tcodigoPk=" + tcodigo_pk + "]";
    }
}
